package ws.very.util.mapdb.akka.wraper

object Fun {
  trait ~>[F, T] extends (F => T) with Serializable
    with org.mapdb.Fun.Function1[T, F] {
    def run(in: F) = this(in)
  }
  case class extractKey[K, V]() extends ((K, V) ~> K) {
    def apply(in: (K, V)) = in._1
  }

  case class extractValue[K, V]() extends ((K, V) ~> V) {
    def apply(in: (K, V)) = in._2
  }

  case class extractNoTransform[F]() extends (F ~> F) {
    def apply(in: F) = in
  }
  
  

}
